//给你一个数组 nums 和一个值 val，你需要 原地 移除所有数值等于 val 的元素，
// 并返回移除后数组的新长度。
//不要使用额外的数组空间，你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
public class Solution {
    public static int RemoveElement(int[] num,int val){
       int ret=0;
       for (int x:num){
           if (val!=x){
               num[ret]=x;
               ret++;
           }
       }

return ret;
    }
    public static void main(String[] args) {
int[] nums={1,2,3,2,2,4};
int ret=RemoveElement(nums,2);
        System.out.println(ret);
        for (int i = 0; i < ret; i++) {
            System.out.print(nums[i]);
        }
    }
   /* 给你一个 非严格递增排列 的数组 nums ，请你 原地 删除重复出现的元素，使每个元素 只出现一次 ，返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。

    考虑 nums 的唯一元素的数量为 k ，你需要做以下事情确保你的题解可以被通过：

    更改数组 nums ，使 nums 的前 k 个元素包含唯一元素，并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。
    返回 k 。*/
    public int removeDuplicates(int[] nums) {
        int k=1;
        for (int i = 1; i < nums.length; i++) {
            if(nums[i]!=nums[i+1]){
                nums[k]=nums[i];
                k++;
            }
        }
        return k;
    }

}
